package com.huilian.iotbox.data.dto;

import com.huilian.iotbox.data.vo.MemberVo;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class MemberDto extends QueryParam implements Serializable {
    private static final long serialVersionUID = -3577933801306467498L;
    private Long id;
    /**
     * 微信名称
     */
    private String nickName;
    private String remarkName;
    /**
     * 性别
     */
    private Integer sex;
    /**
     * 国籍
     */
    private String country;
    /**
     * 头像
     */
    private String headImgUrl;
    /**
     * 微信开放平台unionId
     */
    private String unionId;
    /**
     * 微信小程序openId
     */
    private String openId;
    /**
     * 微信公众号openId
     */
    private String officialAccountOpenId;
    /**
     * 支付宝unionId
     */
    private String zfbUnionId;
    /**
     * 支付宝userId
     */
    private String zfbUserId;
    /**
     * 头条openid
     */
    private String ttOpenId;
    /**
     * 头条unionid
     */
    private String ttUnionId;

    /**
     * 累计支付
     */
    private BigDecimal totalPay;
    /**
     * 最近一次消费
     */
    private Date latelyPay;
    /**
     * 消费等级：1：潜水  2：回头  3：活跃
     */
    private Integer levelPay;

    /**
     * 生日
     */
    private Date birthday;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 6位取币密码，加密
     */
    private String fetchCoinPwd;
    /**
     * 状态0=异常，1=正常
     */
    private Integer status;
    /**
     * 店铺id
     */
    private Integer merchantStoreId;
    /**
     * 用户-店铺中间表id
     */
    private Integer memberStoreBalanceId;
    /**
     * user管理端id
     */
    private Integer userId;
    /**
     * 消费类型id
     */
    private Integer consumeRecordTypeId;

    private String deviceNo;

    /**
     * 昨天
     */
    private String yesterday;

    private String orderBy;

    private String sort;

    private String startTime;
    private String endTime;

    /**
     * 加密串
     */
    private String sign;
    /**
     * 时间戳
     */
    private Long timestamp;

    /**
     * 原密码
     */
    private String oldPassword;

    /**
     * 确认密码，需与新密码一致
     */
    private String confirmPassword;
    /**
     * 短信验证码
     */
    private String code;

    /**
     * 微信小程序获取手机号需要的三个条件
     */
    private String iv;
    private String encryptedData;
    private String sessionKey;


    /**
     * 支付宝小程序获取手机号需要JSON
     */
    private String response;

    private String channelType;


    /**
     * 头条小程序登录code
     */
    private String touTiaoCode;
    /**
     * 用户ID
     */
    private Long memberId;

    private Integer type;
    private Integer authorizerAppId;

    private String keyword;

    private Integer sortRules;

    /**
     * 排序关键字
     */
    private Integer sortKey;

    /**
     * 排序方式 0 正序 1反序
     */
    private Integer sortBy;

    /**
     * 备注
     */
    private String remark;

    /**
     * 派发的币
     */
    private Integer sendCoin;


    /**
     * 多选集合
     */
    private List<MemberVo> memberVoList = new ArrayList<>();

    /**
     * 起始余额
     */
    private BigDecimal startingBalance;

    /**
     * 结束余额
     */
    private BigDecimal endBalance;

    /**
     * 起始余币
     */
    private Integer startingCurrency;

    /**
     * 结束余币
     */
    private Integer endCurrency;

    /**
     * 设备类型
     */
    private Integer deviceTypeId;
    /**
     * 总记录数
     */
    private Integer total;
    /**
     * 标签id
     */
    private Integer labelId;

    /**
     * 结束时间
     */
    private String endDateStr;
    /**
     * 开始时间
     */
    private String startDateStr;
    /**
     * 全选 再取消需要排除的集合
     */
    private List<MemberVo> cancelMemberList = new ArrayList<>();

    private String newRegisterMemberKey;
    private String memberQrKey;

    /**
     * 会员详情 记录查询类型
     */
    private Integer recordType;
    /**
     * ic 会员卡号
     */
    private String cardNo;

    /**
     * 最小余额
     */
    private Integer minTotalMoney;

    /**
     * 最大余额
     */
    private Integer maxTotalMoney;

    /**
     * 选择余额类别的坐标
     */
    private Integer balanceIndex;

    /**
     * 最小余币
     */
    private Integer minTotalCoin;

    /**
     * 最大余币
     */
    private Integer maxTotalCoin;

    /**
     * 选择余币类别的坐标
     */
    private Integer surplusCoinsIndex;

    /**
     * 存币数
     */
    private Integer count;

    private String appId;

    /**密码*/
    private String password;

    /**语言 */
    private String language;
}
